//封装一个axios
function axios (){
    //因为axios默认返回promise实例,所以先初始化一个默认值,是成功
    let promise = Promise.resolve()

    //因为可能会设置很多拦截器,我们就用一个数组来保存所有拦截器函数,等真正发送请求的时候,直接依次调用
    const arr = []

    //遍历所有的请求拦截器,每一个请求拦截器都有两个函数,一个成功(fullfilledfn)一个是失败(rejectedfn)
    for (let item in requestinterceptor){
        //unshift向数组前面插入值,并且删除原来数据向前面插入的值
        arr.unshift(item.fullfilledfn,item.rejectedfn)
    }

    //遍历所有的响应拦截器,每一个响应拦截器都有两个函数,一个成功(fullfilledfn)一个是失败(rejectedfn)
    for (let item in responseinterceptor){
        arr.push(item.fullfilledfn,item.rejectedfn)
    }

    while (arr.length >=0) {
        promise = promise.then(arr.shift(),arr.shift())
    }

    return promise
}